The invention relates generally to audible telecommunications signaling and, more specifically, to a method and a system for providing call progress tones and audible announcements in a distributed, packetized network environment.
In conventional analog telephony, the central office of the Public Switch Telephone Network (PSTN) provides subscriber telephones with call progress tones so that callers are able to ascertain the status of a call. These audible tones are in addition to any network signaling messages which are used by the central office or by a private branch exchange (PBX) for controlling and managing calls. The audible tones are generally provided as notification to the user. For example, when a caller takes a telephone off-hook, the central office provides the caller with a dial tone which indicates to the caller that the central office is ready to accept and process dialed digits from the caller. If no dial tone is received after going off-hook, this indicates to the caller that the resources of the central office are not currently available for processing an outgoing call.
If the central office receives a call for a customer who is already on the line with another call (i.e., the customer""s phone is in an off-hook condition), the central office may transmit a busy signal to the caller. Alternatively, if the called customer number is not valid, the central office may transmit an error tone to inform the customer that a call cannot be completed. Another example of a call progress tone that the central office provides to a caller is the ringback tone. When a call reaches a phone that is not busy (i.e., on hook), the central office provides the caller with a ringback tone to inform the caller that the line is not busy and that alerting (a ringing voltage) is being applied to the destination of the call.
A PBX is a telephone switch which performs many of the same functions as a central office. A PBX is typically employed to provide local telephony support to a business facility. In addition to the call progress tones provided by central offices, a PBX typically responds to an incoming call being placed on hold by presenting background music or a voice recording which lets the caller know that he or she has not been disconnected and should remain on the call. A PBX that enables an ACD (Automatic Call Distribution) function may provide a variety of pre-programmed audio deliveries to the caller, including music-on-hold, information, promotional and other status messages.
In both the central office and the PBX, there is a central switch fabric having shared resources which provide call progress or status tones, announcements, and/or music-on-hold. In contrast, there are no central resources or central switch fabric in a Local Area Network (LAN) which is equipped for distributed, Telephony-over-LAN (ToL) services. Typically, in a ToL environment, every endpoint is a telephony-enabled device that stores tones for call progress tones, as well as announcements and on-hold music. When a call status tone is required (e.g., when a called endpoint is participating in a first call at the time that it receives a second call from a second endpoint), the called endpoint accesses a locally stored audio file and transmits a busy tone or a message to the calling endpoint. Alternatively, in some digital networks a signaling network message may be sent to the calling endpoint and the tone may be played locally to the calling party.
Although call status tones do not require significant memory, storage space or processing power to generate, more sophisticated call progress tones and pre-programmed audio deliveries (such as voice announcements, messages and background music) require substantially greater storage and processing power in each endpoint. Even though the cost per endpoint may be small, in a large network system with many endpoints, the total cost can become significant. Furthermore, storing messages and background music at the endpoints presents significant network management difficulties. In the case of music-on-hold, there must be sufficient variations so as not to annoy the party on hold, and this requirement may lead to very large storage memory requirements. For example, if the endpoints are agent terminals associated with an ACD, the on-hold music and messages are likely to be changed frequently. Updating the memory of all endpoints each time the on-hold music and messages are changed is an inefficient network management technique. Additionally, transmitting call status signals and on-hold music and announcements from each network endpoint introduces a substantial amount of traffic onto the network.
What is needed is a system and a method for efficiently providing progress tones and pre-programmed audio deliveries to endpoints in a connectionless network environment.
A method and system for providing call progress tones and pre-programmed audio deliveries in a distributed network environment that supports data transfers and telephony capability for a number of telephony-enabled devices includes storing the call progress tones and pre-programmed deliveries at a master device, such as a dedicated server, and multicasting the signals in a format that enables the telephony-enabled devices to individually control transmissions of the progress tones and deliveries to other devices. Typically, the call pre-programmed audio deliveries include memory intensive signals, such as announcements and music-on-hold. The method and system are best suited for applications in networks which transfer information in packets, i.e., xe2x80x9cconnectionlessxe2x80x9d networks.
In one embodiment, each call progress tone and/or each audio delivery (e.g., music-on-hold) that is stored at the multicast source is associated with a unique multicast address. A telephony-enabled device (e.g., a computer), can request recurring delivery of a particular announcement by identifying the multicast address. Typically, each telephony-enabled device registers for a number of the call progress tones and deliveries. Each device in a multicast group can then control transmissions of specific call progress tones and deliveries to other devices.
In another embodiment, the call progress tones and/or pre-programmed audio deliveries are multiplexed into a single data stream. The telephony-enabled device can then select one of the tones or audio deliveries to play to the other device. For example, in an Automatic Call Distributor (ACD) system, the multicast multiplexed data stream may include the music-on-hold that provides a continuous background source when an ACD device is unavailable. Other less frequent announcements can be multiplexed into the same data stream for periodic presentation to a specific type of caller. Thus, the ACD device can periodically select an alternate announcement (from the multiplex stream) and interrupt the music-on-hold. This announcement can be specifically tailored for an identified type of caller.
The manipulation of the multicast stream to select and direct the appropriate music or other information tones or announcements may occur exclusively at a telephone or work station. In one scenario, a telephone that is engaged in a first call may place the caller on hold in order to consult with another party via a second call. The telephone that placed the first call on hold receives the multicast packets in which the music-on-hold information is embedded and relays the extracted packets to the other telephone of the first call. When the second call is completed, and the telephone is taken off hold, the conversation can continue normally. In a second scenario, the telephone receives a second call while the telephone is in an off-hook condition. A xe2x80x9cbusyxe2x80x9d signal may be selected from the multiplexed multicast data stream for relay to the telephone of the incoming call. The selection of the call progress tones and audio deliveries may be achieved using Computer Telephony Integration (CTI) applications and/or telephony control messages.
As an alternative to manipulating the multicast at the telephony devices, proxy devices may be utilized in order to reduce network traffic. In this alternative, the proxy devices are the telephony-enabled devices. These proxy devices should generally be located near the points at which the signals are needed, e.g., positioned so as to be near the points at which the call progress tones or deliveries are to be transmitted. Each proxy device receives multicast signals from the multicast source and handles the held calls on behalf of the original device, e.g. the one that put the call on hold. The proxy device does not need to create or store the call progress tones or pre-programmed audio deliveries. Therefore, the proxy device may be a small unit for which administration is relatively simple.
As another alternative, the telephony-enabled devices can instruct the other telephony-enabled device (i.e., the one not on hold) to receive and process the multicast signals in order to deliver the desired call progress tones to the user. The utilization of the second or third option will generally require a capabilities exchange between the two devices on the call and/or with the proxy device to make sure that the mode of operation is possible and to control the selection of tones, announcements or music.